home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / www_talk.930 / 000586_connolly@pixel.convex.com _Wed Jan 20 09:46:28 1993.msg < prev    next >
Internet Message Format  |  1994-01-24  |  4KB

  1. Return-Path: <connolly@pixel.convex.com>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA05596; Wed, 20 Jan 93 09:46:28 MET
  4. Received: by dxmint.cern.ch (5.65/DEC-Ultrix/4.3)
  5.     id AA27475; Wed, 20 Jan 1993 10:01:50 +0100
  6. Received: from pixel.convex.com by convex.convex.com (5.64/1.35)
  7.     id AA11467; Wed, 20 Jan 93 03:01:43 -0600
  8. Received: from localhost by pixel.convex.com (5.64/1.28)
  9.     id AA11039; Wed, 20 Jan 93 03:01:38 -0600
  10. Message-Id: <9301200901.AA11039@pixel.convex.com>
  11. To: Dave_Raggett <dsr@hplb.hpl.hp.com>
  12. Cc: www-talk@nxoc01.cern.ch
  13. Subject: Re: QueryForms and Input tag 
  14. In-Reply-To: Your message of "Tue, 19 Jan 93 15:59:34 GMT."
  15.              <9301191559.AA05466@manuel.hpl.hp.com> 
  16. Date: Wed, 20 Jan 93 03:01:36 CST
  17. From: Dan Connolly <connolly@pixel.convex.com>
  18.  
  19.  
  20. >I like the idea, and am glad to see people are now taking an interest in html
  21. >and forms.
  22.  
  23. Does this mean my wag at an example does jive with your ideas? I'm
  24. still not clear... especially on the protocol.
  25.  
  26. >Summarising what you suggest above:
  27. >
  28. >    <input name=FIELDNAME type=FIELDTYPE [width=FIELDWIDTH] [help=HELPUDI]>
  29. >
  30. >    FIELDNAME is a unique identifier for this form
  31. >    FIELDTYPE ::= "boolean" | "text" | "integer" | "float"
  32. >
  33. >    The [ ] brackets denote optional attributes.
  34.  
  35. Why not let's talk SGML, while we're at it? It's not so tough:
  36.  
  37. <!ENTITY % url "CDATA" -- this is kind of a DTD macro >
  38. <!ELEMENT input - O EMPTY>
  39. <!ATTLIST input
  40.     name ID #REQUIRED
  41.     type (boolean|text|integer|float) #REQUIRED
  42.     help %url; #implied
  43.     >
  44.  
  45. >Multiple choice items need a richer structure, e.g.
  46. >
  47. >    <select name=FIELDNAME type=CHOICETYPE [value=VALUE] [help=HELPUDI]>
  48. >        <choice>item 1
  49. >        <choice>item 2
  50. >        <choice>item 3
  51. >    </select>
  52. >
  53. >    CHOICETYPE ::= "radio" | "single" | "multiple"
  54.  
  55. <!ELEMENT select - - (choice+)>
  56. <!ATTLIST select
  57.     name ID #REQUIRED
  58.     type (radio|single|multiple) #REQUIRED
  59.     value IDREF #IMPLIED -- defaults to first choice --
  60.     help %url; #IMPLIED
  61.     >
  62. <!ELEMENT choice - - (%hypertext)+ -- see HTML DTD: text with A tags -->
  63. <!ATTLIST choice
  64.     id ID #IMPLIED -- select's value attribute points here --
  65.     value CDATA #IMPLIED -- defaults to element content --
  66.     >
  67.  
  68. >It is also useful to distinguish form decorations from output fields. I think
  69. >this can be adequately handled using the existing emphasis tags though.
  70.  
  71. I don't get it; what's an output field?
  72.  
  73. >How will the <queryform> tag take over from the <ISINDEX> mechanism? Right
  74. >now, the browser provides an input field and search button, but I assume that
  75. >in future, searchable documents will use the queryform approach instead.
  76. >
  77. >Forms generally involve additional ideas:
  78. >
  79. >    a)  expressions and queries for output fields
  80. >
  81. >    b)  edits (constraints) on input field values
  82. >
  83. >    c)  dependencies between fields
  84. >
  85. >These can all be handled by the server, albeit with a performance penalty as
  86. >perceived by the user.
  87.  
  88. Whoa! You mean there's a round trip every time the user enters a field?
  89. This implies a stateful connection between the client and server.
  90.  
  91. This isn't the model I had in mind at all! I thought it went:
  92.     * server sends whole form
  93.     * user interacts with client only to fill out form
  94.     * user instructs client to send completed form to server
  95.     * client translates user inputs using <QUERYFORM> element
  96.       and sends results to server in HTRQ data
  97.     * server processes query.
  98.  
  99. Dan
  100.